81ce66044fd47e97a4096634e5216eed6032fda8,processor/src/main/java/org/mapstruct/ap/internal/model/IterableMappingMethod.java,Builder,build,#,90

Before Change


            String loopVariableName =
                Strings.getSaveVariableName( sourceElementType.getName(), method.getParameterNames() );

            Assignment assignment = ctx.getMappingResolver().getTargetAssignment(
                method,
                targetElementType,
                null, // there is no targetPropertyName
                formattingParameters,
                selectionParameters,
                new SourceRHS( loopVariableName, sourceElementType, new HashSet<String>(), "collection element" ),
                false
            );

            if ( assignment == null ) {
                if ( method instanceof ForgedMethod ) {
                    // leave messaging to calling property mapping
                    return null;
                }
                else {
                    ctx.getMessager().printMessage( method.getExecutable(), Message.ITERABLEMAPPING_MAPPING_NOT_FOUND );
                }
            }
            else {

After Change


            String loopVariableName =
                Strings.getSaveVariableName( sourceElementType.getName(), method.getParameterNames() );

            SourceRHS sourceRHS = new SourceRHS( loopVariableName, sourceElementType, new HashSet<String>(),
                "collection element" );
            Assignment assignment = ctx.getMappingResolver().getTargetAssignment(
                method,
                targetElementType,
                null, // there is no targetPropertyName
                formattingParameters,
                selectionParameters,
                sourceRHS,
                false
            );

            if ( assignment == null ) {

                assignment = forgeMapping( sourceRHS, sourceElementType, targetElementType );

            }
            else {